# Philips TPM191E (TP Vision, device PH9M_EA_5599, MediaTek mt5887), Europe
# Android TV 12 (API 31), firmware STT2.230526.001, security patch 2025-11-01.
# Fingerprint: Philips/PH9M_EA_5599/PH9M_EA_5599:12/STT2.230526.001/4215:user/release-keys
# About 2 GB RAM, armeabi-v7a. Vendor packages use the org.droidtv prefix.
#
# Not the same board as examples/philips-50pus8517 (PH1M_EA_9970A, Android 11) or
# examples/philips-55pus7503 (TPM171E, Android 8); entries shared with those lists were checked
# against this TV's own `pm list packages`.
#
# Apply:   TV_HOST=<tv ip> tools/disable.sh examples/philips-tpm191e/debloat.txt
# Undo:    TV_HOST=<tv ip> tools/restore.sh examples/philips-tpm191e/debloat.txt com.google.android.tvlauncher
# Everything is DISABLED, not uninstalled. Comment out any line you want to keep.
#
# Stock launcher: com.google.android.tvlauncher
# The uk.co.freeview.* packages and org.droidtv.freeviewplayers are disabled from the factory on
# this unit, so they are not listed (restore.sh would turn them ON).
#
# Kept on purpose: org.droidtv.amazonalexa (Alexa power on/off), com.google.android.apps.mediashell
# (Chromecast), org.droidtv.oad and com.easy.oad (firmware updates), org.droidtv.eum (see the
# philips-50pus8517 list: xtv retries forever without it and the sources drawer dies). The fourth
# unit below disabled org.droidtv.nettvbrowser, org.droidtv.menudataapp and
# org.droidtv.nettvregistration too, then re-enabled all three without confirming a failure first:
# they are in the philips-50pus8517 DO-NOT-DISABLE block (written for board PH1M_EA_9970A, a
# different board), and re-enabling cost nothing, so the same caution was applied here on
# PH9M_EA_5599 rather than testing whether it actually needed it.
#
# Second unit (same model, firmware STT2.230526.001, Norway, on Ethernet): the whole list applied, with
# Prime Video, Assistant and Alexa off by choice. After one reboot every entry stayed disabled except
# com.google.android.tvrecommendations, which came back enabled (batch 4). Left as is rather than disabled
# again after each boot.
#
# Third unit: Philips 75PUH8265/96, Taiwan, on Ethernet, still on the ANDROID 9 firmware the 2020 sets
# shipped with: PTT1.181130.001 build 200260, security patch 2021-11-05. Same device PH9M_EA_5599,
# model TPM191E, MediaTek mt5887, about 2 GB RAM.
# Fingerprint: Philips/PH9M_EA_5599/PH9M_EA_5599:9/PTT1.181130.001/200260:user/release-keys
# - The same 15 Freeview packages were disabled from the factory, on a Taiwanese set too.
# - Not installed on this firmware: com.google.android.music, com.phorus.playfi.softap,
#   org.droidtv.fastip and org.droidtv.aurora (so the 8505 note on fastip does not apply here).
# - Disabled from this list: batch 1, batch 2, and batch 3 except dlna. org.droidtv.dlna was KEPT,
#   following examples/philips-75pus8505 (contentexplorer, "Media", binds it on this board).
#   tvrecommendations (batch 4) was kept, so the notification panel stays.
# - Also disabled on this unit: org.droidtv.amazonalexa (kept above, unused here),
#   com.google.android.sss.authbridge, org.droidtv.nettvapps, org.droidtv.sticker, and the preloaded
#   web-app tiles nettvapp1814 (ARTE), 4655 (Deezer), 4771 (Divan.TV), 5326 (Toon Goggles),
#   5512 (Fishing TV) and 20004410 (Couchplay Games). Labels read with `aapt2 dump badging`.
# - launcher/build-and-install.sh ran through on its own on Android 9: the first cold start answered
#   `am start -W` with Status ok in 2.6 s, unlike the Android 12 timeout in the 8505 notes.
# - Idle-loop check after the debloat (philips-50pus8517 quirk 5 method, 30 s): 306 lines, nothing tied
#   to a disabled package. Most of it was org.droidtv.ambihue driving paired Hue lights, plus
#   tptvservice's ApplicationSwitchService about once a second.
# - Checked the same day; the set has not been restarted since, so persistence across a reboot is
#   not confirmed for this unit.
#
# Fourth unit: Philips 55OLED854/12 (OLED, not LED like the other three units here), Poland, on
# Ethernet. Same firmware as the lead unit above: STT2.230526.001, security patch 2025-11-01,
# fingerprint Philips/PH9M_EA_5599/PH9M_EA_5599:12/STT2.230526.001/4215:user/release-keys. A
# single session, not a several-day test. Like the lead unit, only an owner-selected subset of the
# list below was applied, not all of it: from batch 1, usagelogger, candeebug, demome, feedback
# and syncadapters.calendar, but not gel, partnersetup or onetimeinitializer (not tested, not
# chosen either way); all of batch 2; from batch 3, only katniss and playfi.softap, since the
# owner's own choice of apps meant amazonvideo.livingroom, videos, music, youtube.tvmusic,
# play.games, marvin.talkback and dlna were left enabled (Prime Video is this owner's own dock
# pick; the rest were simply not chosen, not confirmed safe or unsafe here); batch 4 after the
# launcher took Home, as written. Checked after one reboot and a 30 s idle-log check (the
# philips-50pus8517 quirk 5 method), both run before the launcher install and its batch-4 disables:
# no line tied to a disabled package repeated, the Sources drawer and every HDMI input listed
# correctly, and `pm list packages -d` still showed every one of the 25 disables below (10 from
# the list below plus the 15 new ones noted next) after the reboot. com.google.android.tvrecommendations
# and the stock launcher (batch 4) were disabled afterward, once the launcher install had Home;
# neither has been through a reboot yet on this unit.
# - The same 15 Freeview packages (plus org.droidtv.freeviewplayers) were disabled from the
#   factory here too, on a Polish unit.
# - com.phorus.playfi.tv matched the lead unit's note: re-enabled itself after the reboot
#   (AudioOutService, "PlayFi Enabled"). softap stayed off.
# - tvrecommendations (batch 4) was disabled only after the launcher took Home, so after this
#   unit's one reboot, not before it; whether it stays disabled through a reboot on this unit, as
#   it did not on the second unit, is not yet confirmed.
# - Disabled on top of the list below, none of them used by the owner, all confirmed through the
#   reboot and idle-log check: org.droidtv.tv.frameworklogger, com.mediatek.backgrounddetection
#   (MediaTek's own background-app heuristic, not an org.droidtv package), org.droidtv.dukservice,
#   org.droidtv.usbbreakin, org.droidtv.nettv_launcherapp, org.droidtv.nettvapps, and the preloaded
#   web-app tiles nettvapp1814 (ARTE), 4508, 4609, 4655 (Deezer), 5225, 5326 (Toon Goggles),
#   5512 (Fishing TV) and 20004410 (Couchplay Games) -- the same numbered-tile pattern as the
#   third unit's list, on this unit's own `pm list packages`. Also dk.logisoft.snipergame, a
#   preloaded demo game present on this unit but not mentioned on the other three.
# - org.droidtv.philipstvdrawer was disabled by mistake, then re-enabled: it is the Philips side
#   menu (TV guide, channel list, sources, Media, quick settings), not a content tile, matching the
#   philips-50pus8517 list's own note on it.
# - Settings button, launcher/build-and-install.ps1 -HomeKeyService: this remote's Settings button
#   sends Linux scancode 357 (KEY_OPTION, no MSC_SCAN), read with `tools/tv.py 'getevent -lt'`, so
#   config.xml settings_key_scancodes = 357 fixes it. Costs the same trade-off as the TCL G09 in
#   docs/TROUBLESHOOTING.md: HomeKeyService's key filtering also stopped Volume Up/Down from
#   repeating on hold. The owner chose to keep volume repeat, so key_filter is false on this unit
#   and the remote's Settings button does nothing (Settings stays reachable from the launcher's own
#   on-screen button).
# - OLED screensaver: org.droidtv.tvsystemui's GFXCaptureService (bound from com.android.systemui)
#   draws a moving Philips logo over everything after a few minutes of a still picture, as on the
#   65OLED706 (a different board, PH1M_EA_9970A) -- so this is not board-specific, likely whichever
#   OLED panel is fitted. Confirmed here too: injected keys over ADB do not dismiss it; a real
#   remote key does.

# Batch 1: telemetry and retail demo
org.droidtv.candeebug                     # "DAC" analytics uploader
org.droidtv.gel                           # metrics collector sharing candeebug's process
org.droidtv.usagelogger                   # boot stats, remote keypress counts, panel telemetry
org.droidtv.demome                        # "Demo me" retail demo mode
com.google.android.feedback               # Market Feedback Agent
com.google.android.partnersetup           # partner referrer / attribution
com.google.android.onetimeinitializer     # runs once at first setup, nothing afterwards
com.google.android.syncadapters.calendar  # Google Calendar sync; no calendar app installed

# Batch 2: Philips promotions
org.droidtv.nettvrecommender              # "Top Picks" content promotion row
org.droidtv.recommendation                # its headless backend; listed after the row on purpose
org.droidtv.nettv.market                  # "Smart TV Collection" app storefront; the Play Store stays

# Batch 3: apps this owner does not use
com.google.android.katniss                # Assistant and voice search; the remote's mic button and "Hey Google" stop. Alexa is separate
com.amazon.amazonvideo.livingroom         # Prime Video
com.google.android.videos                 # Google TV / Play Movies
com.google.android.music                  # Google Play Music, discontinued service
com.google.android.youtube.tvmusic        # YouTube Music
com.google.android.play.games
com.google.android.marvin.talkback        # TalkBack screen reader; keep if anyone needs it
org.droidtv.dlna                          # DLNA/UPnP server and renderer
# com.phorus.playfi.tv                    # DTS Play-Fi: does NOT stay disabled. Back to enabled=1 after a reboot
#                                         # (AudioOutService logs "PlayFi Enabled" at boot), so left enabled
com.phorus.playfi.softap                  # DTS Play-Fi soft access point

# Batch 4: after launcher/build-and-install.sh has moved Home and disabled com.google.android.tvlauncher.
# The stock launcher holds a stable provider reference into this package, so disabling it first would
# kill the live launcher. It is also the only handler for the notification side panel
# (OPEN_NOTIFICATIONS_PANEL, TOGGLE_NOTIFICATION_HANDLER_PANEL) on this firmware: that panel goes too.
com.google.android.tvrecommendations      # "Android TV Core Services": recommendation rows, notification panel
#                                         # second unit: re-enabled by the firmware at the next boot
